#ifndef BASIC_LIFECYCLE_H
#define BASIC_LIFECYCLE_H

#include <memory>  // 包含智能指针库
#include <string>  // 包含字符串库
#include <queue>
#include <set>

#include "rclcpp/rclcpp.hpp"                   // 包含ROS 2客户端库
#include "rclcpp_lifecycle/lifecycle_node.hpp" // 包含生命周期节点库
#include "lifecycle_msgs/msg/transition.hpp"   // 包含生命周期消息中的转换消息
#include "lifecycle_msgs/msg/state.hpp"        // 包含生命周期消息中的转换消息

#include "status.h"

namespace test_utils
{
    class BasicLifecycleNode : public rclcpp_lifecycle::LifecycleNode
    {
    public:
        explicit BasicLifecycleNode(const std::string &node_name, const rclcpp::NodeOptions &options = rclcpp::NodeOptions());

        bool auto_check(CheckType check_type);
    };

}

#endif